<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Repetier-Firmware: src/ArduinoAVR/Repetier/gcode.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="icon128.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Repetier-Firmware
   &#160;<span id="projectnumber">1.0.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('gcode_8h_source.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">gcode.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="gcode_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">    This file is part of Repetier-Firmware.</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">    Repetier-Firmware is free software: you can redistribute it and/or modify</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">    it under the terms of the GNU General Public License as published by</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">    the Free Software Foundation, either version 3 of the License, or</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">    (at your option) any later version.</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">    Repetier-Firmware is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">    but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">    GNU General Public License for more details.</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment">    You should have received a copy of the GNU General Public License</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment">    along with Repetier-Firmware.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"></span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment">*/</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="preprocessor">#ifndef _GCODE_H</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="preprocessor">#define _GCODE_H</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;</div><div class="line"><a name="l00021"></a><span class="lineno"><a class="line" href="gcode_8h.html#a11b2387a44dc0cf3642ddcbe0581276b">   21</a></span>&#160;<span class="preprocessor">#define MAX_CMD_SIZE 96</span></div><div class="line"><a name="l00022"></a><span class="lineno"><a class="line" href="gcode_8h.html#af4761d64884360f7fb99d05371fc53f0">   22</a></span>&#160;<span class="preprocessor">#define ARRAY_SIZE(_x)  (sizeof(_x)/sizeof(_x[0]))</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno"><a class="line" href="gcode_8h.html#a80335118e5274a875358737bd2daa6caa1c1f16d5a674c4c9064e89e0e4daa0bc">   24</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="gcode_8h.html#a80335118e5274a875358737bd2daa6ca">FirmwareState</a> {<a class="code" href="gcode_8h.html#a80335118e5274a875358737bd2daa6caa4013af6dca6fe52bdbfd0781097056f0">NotBusy</a>=0,<a class="code" href="gcode_8h.html#a80335118e5274a875358737bd2daa6caa2c0f5e5c441bfef9c56cdd0ef2210c5b">Processing</a>,<a class="code" href="gcode_8h.html#a80335118e5274a875358737bd2daa6caa7038380f2ccd1d2edf36a73fd4c2d068">Paused</a>,<a class="code" href="gcode_8h.html#a80335118e5274a875358737bd2daa6caa1c1f16d5a674c4c9064e89e0e4daa0bc">WaitHeater</a>,<a class="code" href="gcode_8h.html#a80335118e5274a875358737bd2daa6caa39202fec5c2ef0d798c4b905ca03ed6e">DoorOpen</a>};</div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;</div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="keyword">class </span>SDCard;</div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="keyword">class </span><a class="code" href="class_commands.html">Commands</a>;</div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;</div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;</div><div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="class_serial_g_code_source.html">   33</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_serial_g_code_source.html">SerialGCodeSource</a>: <span class="keyword">public</span> <a class="code" href="class_g_code_source.html">GCodeSource</a> {</div><div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="class_serial_g_code_source.html#af84b5beefec49831ddd6138ea71353e3">   34</a></span>&#160;    Stream *<a class="code" href="class_serial_g_code_source.html#af84b5beefec49831ddd6138ea71353e3">stream</a>;</div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="keyword">public</span>:    </div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;    <a class="code" href="class_serial_g_code_source.html#ad16cc0c1dd8699f7e5b55100982efc24">SerialGCodeSource</a>(Stream *p);</div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="class_serial_g_code_source.html#aa37fcf0245e465929c9f0c9d4d15efd1">isOpen</a>();</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="class_serial_g_code_source.html#afd5cc5c1d05f7df69c853409cfcc9c68">supportsWrite</a>(); </div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="class_serial_g_code_source.html#a3297ba3eae43de9abff1d2ff1cb441fd">closeOnError</a>(); <span class="comment">// return true if the channel can not interactively correct errors.</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="class_serial_g_code_source.html#a1ca61ad50d3e9de9db9c2e0b0430201d">dataAvailable</a>(); <span class="comment">// would read return a new byte?</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="class_serial_g_code_source.html#a987322f362a396d7c80a8191fed9012f">readByte</a>();</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_serial_g_code_source.html#a9f5bfbb5922865a0b41d0a88ef27ef36">writeByte</a>(uint8_t byte);</div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_serial_g_code_source.html#ad8a4422b8f293daedac636ebc1620c25">close</a>();</div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;};</div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="comment">//#pragma message &quot;Sd support: &quot; XSTR(SDSUPPORT)  </span></div><div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">#if SDSUPPORT</span></div><div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="keyword">class </span>SDCardGCodeSource: <span class="keyword">public</span> <a class="code" href="class_g_code_source.html">GCodeSource</a> {</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="class_serial_g_code_source.html#aa37fcf0245e465929c9f0c9d4d15efd1">isOpen</a>();</div><div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="class_serial_g_code_source.html#afd5cc5c1d05f7df69c853409cfcc9c68">supportsWrite</a>(); </div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="class_serial_g_code_source.html#a3297ba3eae43de9abff1d2ff1cb441fd">closeOnError</a>(); <span class="comment">// return true if the channel can not interactively correct errors.</span></div><div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="class_serial_g_code_source.html#a1ca61ad50d3e9de9db9c2e0b0430201d">dataAvailable</a>(); <span class="comment">// would read return a new byte?</span></div><div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="class_serial_g_code_source.html#a987322f362a396d7c80a8191fed9012f">readByte</a>();</div><div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_serial_g_code_source.html#a9f5bfbb5922865a0b41d0a88ef27ef36">writeByte</a>(uint8_t byte);</div><div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_serial_g_code_source.html#ad8a4422b8f293daedac636ebc1620c25">close</a>();</div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;};</div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="class_flash_g_code_source.html">   59</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_flash_g_code_source.html">FlashGCodeSource</a>: <span class="keyword">public</span> <a class="code" href="class_g_code_source.html">GCodeSource</a> {</div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;    <a class="code" href="_h_a_l_8h.html#a6c7567c1812b6b6ca9067377476ddc4e">FSTRINGPARAM</a>(pointer);</div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="class_flash_g_code_source.html#a495521d5531b517c8de2d29a36d8e51b">   62</a></span>&#160;    <span class="keyword">volatile</span> <span class="keywordtype">bool</span> <a class="code" href="class_flash_g_code_source.html#a495521d5531b517c8de2d29a36d8e51b">finished</a>;</div><div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="class_flash_g_code_source.html#aaf97b1299c42292f100949af7a0bcef6">   63</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_flash_g_code_source.html#aaf97b1299c42292f100949af7a0bcef6">actionOnFinish</a>;</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;    </div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    <a class="code" href="class_flash_g_code_source.html">FlashGCodeSource</a>();</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="class_serial_g_code_source.html#aa37fcf0245e465929c9f0c9d4d15efd1">isOpen</a>();</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="class_serial_g_code_source.html#afd5cc5c1d05f7df69c853409cfcc9c68">supportsWrite</a>(); </div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="class_serial_g_code_source.html#a3297ba3eae43de9abff1d2ff1cb441fd">closeOnError</a>(); <span class="comment">// return true if the channel can not interactively correct errors.</span></div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="class_serial_g_code_source.html#a1ca61ad50d3e9de9db9c2e0b0430201d">dataAvailable</a>(); <span class="comment">// would read return a new byte?</span></div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="class_serial_g_code_source.html#a987322f362a396d7c80a8191fed9012f">readByte</a>();</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_serial_g_code_source.html#a9f5bfbb5922865a0b41d0a88ef27ef36">writeByte</a>(uint8_t byte);</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_serial_g_code_source.html#ad8a4422b8f293daedac636ebc1620c25">close</a>();</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;    </div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    <span class="keywordtype">void</span> executeCommands(<a class="code" href="_h_a_l_8h.html#a6c7567c1812b6b6ca9067377476ddc4e">FSTRINGPARAM</a>(data),<span class="keywordtype">bool</span> waitFinish,<span class="keywordtype">int</span> action);</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;};</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;<span class="preprocessor">#if NEW_COMMUNICATION</span></div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="keyword">extern</span> <a class="code" href="class_flash_g_code_source.html">FlashGCodeSource</a> <a class="code" href="gcode_8cpp.html#a6b89d94efcdf5d441857a9b2d3de1f7f">flashSource</a>;</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;<span class="keyword">extern</span> <a class="code" href="class_serial_g_code_source.html">SerialGCodeSource</a> serial0Source;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;<span class="preprocessor">#if BLUETOOTH_SERIAL &gt; 0</span></div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;<span class="keyword">extern</span> <a class="code" href="class_serial_g_code_source.html">SerialGCodeSource</a> serial1Source;</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="preprocessor">#if SDSUPPORT</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="keyword">extern</span> SDCardGCodeSource <a class="code" href="_s_d_card_8cpp.html#a8feba775c4efc1037d9f4c025ad0d807">sdSource</a>;</div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;</div><div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="class_g_code.html">   91</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_g_code.html">GCode</a>   <span class="comment">// 52 uint8_ts per command needed</span></div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;{</div><div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="class_g_code.html#a303b63cdf8d85a149e7efe031e13b1b4">   93</a></span>&#160;    uint16_t <a class="code" href="class_g_code.html#a303b63cdf8d85a149e7efe031e13b1b4">params</a>;</div><div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="class_g_code.html#af6905bc5b02a3b5cfc28397e5e41d129">   94</a></span>&#160;    uint16_t <a class="code" href="class_g_code.html#af6905bc5b02a3b5cfc28397e5e41d129">params2</a>;</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="class_g_code.html#afac98469c79bf9e678912b1e9c32a607">   96</a></span>&#160;    uint16_t <a class="code" href="class_g_code.html#afac98469c79bf9e678912b1e9c32a607">N</a>; </div><div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="class_g_code.html#a995e88439b019c737daa12ce2c3e9b47">   97</a></span>&#160;    uint16_t <a class="code" href="class_g_code.html#a995e88439b019c737daa12ce2c3e9b47">M</a>; </div><div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="class_g_code.html#a01aca54496e1e4f83ae0be2da6e0cfff">   98</a></span>&#160;    uint16_t <a class="code" href="class_g_code.html#a01aca54496e1e4f83ae0be2da6e0cfff">G</a>; </div><div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="class_g_code.html#ad8d3ebce176ae54127e85a5736806dcc">   99</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="class_g_code.html#ad8d3ebce176ae54127e85a5736806dcc">X</a>; </div><div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="class_g_code.html#a12748472eac849b0ab34cc3f2b22b64c">  100</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="class_g_code.html#a12748472eac849b0ab34cc3f2b22b64c">Y</a>; </div><div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="class_g_code.html#a377df478459422d8f6345e85e6683a97">  101</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="class_g_code.html#a377df478459422d8f6345e85e6683a97">Z</a>; </div><div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="class_g_code.html#ac0b7ab932e0bdfff4a1815ba5ee3cc36">  102</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="class_g_code.html#ac0b7ab932e0bdfff4a1815ba5ee3cc36">E</a>; </div><div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="class_g_code.html#a294327935821aae0a62826986d7b9588">  103</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="class_g_code.html#a294327935821aae0a62826986d7b9588">F</a>; </div><div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="class_g_code.html#ad2dda78f2137bf5ff41022df473a1814">  104</a></span>&#160;    int32_t <a class="code" href="class_g_code.html#ad2dda78f2137bf5ff41022df473a1814">S</a>; </div><div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="class_g_code.html#a20e61c1fad68f22b7ec4f5081657417e">  105</a></span>&#160;    int32_t <a class="code" href="class_g_code.html#a20e61c1fad68f22b7ec4f5081657417e">P</a>; </div><div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="class_g_code.html#a36f8ec40df06232fbfc50f7c7117b115">  106</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="class_g_code.html#a36f8ec40df06232fbfc50f7c7117b115">I</a>; </div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="class_g_code.html#a1169f240c76319042436867e8ebda95a">  107</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="class_g_code.html#a1169f240c76319042436867e8ebda95a">J</a>; </div><div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="class_g_code.html#aa5e1bb88b380d7e3d800c3909a245464">  108</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="class_g_code.html#aa5e1bb88b380d7e3d800c3909a245464">R</a>; </div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="class_g_code.html#acc735cde25988c9566f15b379ed497cc">  109</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="class_g_code.html#acc735cde25988c9566f15b379ed497cc">D</a>; </div><div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="class_g_code.html#a9734598d65b0877a712d6b52e2f1b022">  110</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="class_g_code.html#a9734598d65b0877a712d6b52e2f1b022">C</a>; </div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="class_g_code.html#aba77862a1c85ab5e91139f2ade15e1b3">  111</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="class_g_code.html#aba77862a1c85ab5e91139f2ade15e1b3">H</a>; </div><div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="class_g_code.html#ae6e347d280e98dcecccf4482ebecffc9">  112</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="class_g_code.html#ae6e347d280e98dcecccf4482ebecffc9">A</a>; </div><div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="class_g_code.html#ab309847b870d0b7cd934e1ddbdea170c">  113</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="class_g_code.html#ab309847b870d0b7cd934e1ddbdea170c">B</a>; </div><div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="class_g_code.html#aae3249d309c349be99e423d4366ec852">  114</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="class_g_code.html#aae3249d309c349be99e423d4366ec852">K</a>; </div><div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="class_g_code.html#a14a2c34757b51c1a22bf87cf2d1bec94">  115</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="class_g_code.html#a14a2c34757b51c1a22bf87cf2d1bec94">L</a>; </div><div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="class_g_code.html#a13b7a088e94011264f4b8a996101b396">  116</a></span>&#160;    <span class="keywordtype">float</span> <a class="code" href="class_g_code.html#a13b7a088e94011264f4b8a996101b396">O</a>; </div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="class_g_code.html#aeae4617d3d441d4c47501902755338cb">  118</a></span>&#160;    <span class="keywordtype">char</span> *<a class="code" href="class_g_code.html#aeae4617d3d441d4c47501902755338cb">text</a>; </div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;    <span class="comment">//moved the byte to the end and aligned ints on short boundary</span></div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    <span class="comment">// Old habit from PC, which require alignments for data types such as int and long to be on 2 or 4 byte boundary</span></div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;    <span class="comment">// Otherwise, the compiler adds padding, wasted space.</span></div><div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="class_g_code.html#ac0cb4354f89ad9bdfc4f10474f27910c">  122</a></span>&#160;    uint8_t <a class="code" href="class_g_code.html#ac0cb4354f89ad9bdfc4f10474f27910c">T</a>; <span class="comment">// This may not matter on any of these controllers, but it can&#39;t hurt</span></div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;    <span class="comment">// True if origin did not come from serial console. That way we can send status messages to</span></div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;    <span class="comment">// a host only if he would normally not know about the mode switch.</span></div><div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="class_g_code.html#a8822389313765b3bcf1d0ec1e939c148">  125</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_g_code.html#a8822389313765b3bcf1d0ec1e939c148">internalCommand</a>;</div><div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="class_g_code.html#a896d9a4b0bc90d286c17238316151f2f">  126</a></span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="class_g_code.html#a896d9a4b0bc90d286c17238316151f2f">hasM</a>()</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    {</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;        <span class="keywordflow">return</span> ((params &amp; 2)!=0);</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;    }</div><div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="class_g_code.html#a16198f9b2fa0202d43dee45817f6ed4b">  130</a></span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="class_g_code.html#a16198f9b2fa0202d43dee45817f6ed4b">hasN</a>()</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;    {</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;        <span class="keywordflow">return</span> ((params &amp; 1)!=0);</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;    }</div><div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="class_g_code.html#aa19e9921bf361760e8332b73f5449f69">  134</a></span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="class_g_code.html#aa19e9921bf361760e8332b73f5449f69">hasG</a>()</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;    {</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;        <span class="keywordflow">return</span> ((params &amp; 4)!=0);</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;    }</div><div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="class_g_code.html#a12aa39af4563e99b6263389eec01863d">  138</a></span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="class_g_code.html#a12aa39af4563e99b6263389eec01863d">hasX</a>()</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;    {</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;        <span class="keywordflow">return</span> ((params &amp; 8)!=0);</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;    }</div><div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="class_g_code.html#a7c2e622c289bed44d107a6b12ecba3da">  142</a></span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="class_g_code.html#a7c2e622c289bed44d107a6b12ecba3da">unsetX</a>() {</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;                params &amp;= ~8;</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;        }</div><div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="class_g_code.html#a0d032c2cc9d48191ae68495d22519c69">  145</a></span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="class_g_code.html#a0d032c2cc9d48191ae68495d22519c69">hasY</a>()</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;    {</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;        <span class="keywordflow">return</span> ((params &amp; 16)!=0);</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;    }</div><div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="class_g_code.html#a08c8b0aeefbf3aacc896794c99065e6c">  149</a></span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="class_g_code.html#a08c8b0aeefbf3aacc896794c99065e6c">unsetY</a>() {</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;                params &amp;= ~16;</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;        }</div><div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="class_g_code.html#a2e0a4d3ae4991501889996ff19943b62">  152</a></span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="class_g_code.html#a2e0a4d3ae4991501889996ff19943b62">hasZ</a>()</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;    {</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;        <span class="keywordflow">return</span> ((params &amp; 32)!=0);</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;    }</div><div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="class_g_code.html#a2962dc0c0e4faa52b9f3546525cb28e5">  156</a></span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="class_g_code.html#a2962dc0c0e4faa52b9f3546525cb28e5">unsetZ</a>() {</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;                params &amp;= ~32;</div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;        }</div><div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="class_g_code.html#aa6a815f9490b31863025a81f46141340">  159</a></span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="class_g_code.html#aa6a815f9490b31863025a81f46141340">hasNoXYZ</a>()</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;    {</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;        <span class="keywordflow">return</span> ((params &amp; 56)==0);</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;    }</div><div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="class_g_code.html#a71565284475e2f1b0afb8c2c3bdf0fb8">  163</a></span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="class_g_code.html#a71565284475e2f1b0afb8c2c3bdf0fb8">hasE</a>()</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;    {</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;        <span class="keywordflow">return</span> ((params &amp; 64)!=0);</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;    }</div><div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="class_g_code.html#a18063c240ab7f0aee99b4f88e32f1f9e">  167</a></span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="class_g_code.html#a18063c240ab7f0aee99b4f88e32f1f9e">hasF</a>()</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;    {</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;        <span class="keywordflow">return</span> ((params &amp; 256)!=0);</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;    }</div><div class="line"><a name="l00171"></a><span class="lineno"><a class="line" href="class_g_code.html#a16984addf2df4467b606a1d511cc2cb6">  171</a></span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="class_g_code.html#a16984addf2df4467b606a1d511cc2cb6">hasT</a>()</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;    {</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;        <span class="keywordflow">return</span> ((params &amp; 512)!=0);</div><div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;    }</div><div class="line"><a name="l00175"></a><span class="lineno"><a class="line" href="class_g_code.html#a752c8740d8a8dc5bbe1d91c5f8fb3766">  175</a></span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="class_g_code.html#a752c8740d8a8dc5bbe1d91c5f8fb3766">hasS</a>()</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;    {</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;        <span class="keywordflow">return</span> ((params &amp; 1024)!=0);</div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;    }</div><div class="line"><a name="l00179"></a><span class="lineno"><a class="line" href="class_g_code.html#a551db73d6f61239124f50b3689f6a937">  179</a></span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="class_g_code.html#a551db73d6f61239124f50b3689f6a937">hasP</a>()</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;    {</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;        <span class="keywordflow">return</span> ((params &amp; 2048)!=0);</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;    }</div><div class="line"><a name="l00183"></a><span class="lineno"><a class="line" href="class_g_code.html#a2144fef359061a8f350fed24cd555e4b">  183</a></span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="class_g_code.html#a2144fef359061a8f350fed24cd555e4b">isV2</a>()</div><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;    {</div><div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;        <span class="keywordflow">return</span> ((params &amp; 4096)!=0);</div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;    }</div><div class="line"><a name="l00187"></a><span class="lineno"><a class="line" href="class_g_code.html#af04e00c866022df42d861a31e5921e56">  187</a></span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="class_g_code.html#af04e00c866022df42d861a31e5921e56">hasString</a>()</div><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;    {</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;        <span class="keywordflow">return</span> ((params &amp; 32768)!=0);</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;    }</div><div class="line"><a name="l00191"></a><span class="lineno"><a class="line" href="class_g_code.html#ae0a22e2515d72b98507b52b510382ed7">  191</a></span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="class_g_code.html#ae0a22e2515d72b98507b52b510382ed7">hasI</a>()</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;    {</div><div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;        <span class="keywordflow">return</span> ((params2 &amp; 1)!=0);</div><div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;    }</div><div class="line"><a name="l00195"></a><span class="lineno"><a class="line" href="class_g_code.html#ae17eb18c5aeb16f262cde1d6d6c65a57">  195</a></span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="class_g_code.html#ae17eb18c5aeb16f262cde1d6d6c65a57">hasJ</a>()</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;    {</div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;        <span class="keywordflow">return</span> ((params2 &amp; 2)!=0);</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;    }</div><div class="line"><a name="l00199"></a><span class="lineno"><a class="line" href="class_g_code.html#a4d88a89c69eef4f07b74f079c9c6d117">  199</a></span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="class_g_code.html#a4d88a89c69eef4f07b74f079c9c6d117">hasR</a>()</div><div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;    {</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;        <span class="keywordflow">return</span> ((params2 &amp; 4)!=0);</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;    }</div><div class="line"><a name="l00203"></a><span class="lineno"><a class="line" href="class_g_code.html#a1e0919fc1f72552a5d9417755f872d23">  203</a></span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="class_g_code.html#a1e0919fc1f72552a5d9417755f872d23">hasD</a>()</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;    {</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;        <span class="keywordflow">return</span> ((params2 &amp; 8)!=0);</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;    }</div><div class="line"><a name="l00207"></a><span class="lineno"><a class="line" href="class_g_code.html#aa591fde7281147c828fe9a9e9ceec752">  207</a></span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="class_g_code.html#aa591fde7281147c828fe9a9e9ceec752">hasC</a>()</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;    {</div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;        <span class="keywordflow">return</span> ((params2 &amp; 16)!=0);</div><div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;    }</div><div class="line"><a name="l00211"></a><span class="lineno"><a class="line" href="class_g_code.html#a9fdd623d6a6dff099c2da7adfe01c1fd">  211</a></span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="class_g_code.html#a9fdd623d6a6dff099c2da7adfe01c1fd">hasH</a>()</div><div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;    {</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;        <span class="keywordflow">return</span> ((params2 &amp; 32)!=0);</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;    }</div><div class="line"><a name="l00215"></a><span class="lineno"><a class="line" href="class_g_code.html#a943d89280b4131abf220469207ec7f29">  215</a></span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="class_g_code.html#a943d89280b4131abf220469207ec7f29">hasA</a>()</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;    {</div><div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;        <span class="keywordflow">return</span> ((params2 &amp; 64)!=0);</div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;    }</div><div class="line"><a name="l00219"></a><span class="lineno"><a class="line" href="class_g_code.html#a33118dea8e1d1adaa0a12f104cc03fc5">  219</a></span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="class_g_code.html#a33118dea8e1d1adaa0a12f104cc03fc5">hasB</a>()</div><div class="line"><a name="l00220"></a><span class="lineno">  220</span>&#160;    {</div><div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;        <span class="keywordflow">return</span> ((params2 &amp; 128)!=0);</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;    }</div><div class="line"><a name="l00223"></a><span class="lineno"><a class="line" href="class_g_code.html#a44ceff02e288003e5808c15b3a684e9d">  223</a></span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="class_g_code.html#a44ceff02e288003e5808c15b3a684e9d">hasK</a>()</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;    {</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;        <span class="keywordflow">return</span> ((params2 &amp; 256)!=0);</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;    }</div><div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="class_g_code.html#a8e450c85756c444201847d9a8cb0a6db">  227</a></span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="class_g_code.html#a8e450c85756c444201847d9a8cb0a6db">hasL</a>()</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;    {</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;        <span class="keywordflow">return</span> ((params2 &amp; 512)!=0);</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;    }</div><div class="line"><a name="l00231"></a><span class="lineno"><a class="line" href="class_g_code.html#a4cef9968c1c49878f0e875ed9250ee11">  231</a></span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="class_g_code.html#a4cef9968c1c49878f0e875ed9250ee11">hasO</a>()</div><div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;    {</div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;        <span class="keywordflow">return</span> ((params2 &amp; 1024)!=0);</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;    }</div><div class="line"><a name="l00235"></a><span class="lineno"><a class="line" href="class_g_code.html#a60605db368f03e763b9e5f60e64db8f7">  235</a></span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">long</span> <a class="code" href="class_g_code.html#a60605db368f03e763b9e5f60e64db8f7">getS</a>(<span class="keywordtype">long</span> def)</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;    {</div><div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;        <span class="keywordflow">return</span> (hasS() ? S : def);</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;    }</div><div class="line"><a name="l00239"></a><span class="lineno"><a class="line" href="class_g_code.html#af156623b5ce798d888a4f0782f565210">  239</a></span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">long</span> <a class="code" href="class_g_code.html#af156623b5ce798d888a4f0782f565210">getP</a>(<span class="keywordtype">long</span> def)</div><div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;    {</div><div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;        <span class="keywordflow">return</span> (hasP() ? P : def);</div><div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;    }</div><div class="line"><a name="l00243"></a><span class="lineno"><a class="line" href="class_g_code.html#a2697d560f2a2b1aae242eecbf0c28c0d">  243</a></span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="class_g_code.html#a2697d560f2a2b1aae242eecbf0c28c0d">setFormatError</a>() {</div><div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;        params2 |= 32768;</div><div class="line"><a name="l00245"></a><span class="lineno">  245</span>&#160;    }</div><div class="line"><a name="l00246"></a><span class="lineno"><a class="line" href="class_g_code.html#a74b6066b0a82b2dc07cb88ab178c40e5">  246</a></span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="class_g_code.html#a74b6066b0a82b2dc07cb88ab178c40e5">hasFormatError</a>() {</div><div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;        <span class="keywordflow">return</span> ((params2 &amp; 32768)!=0);</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;    }</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;    <span class="keywordtype">void</span> printCommand();</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;    <span class="keywordtype">bool</span> parseBinary(uint8_t *buffer,<span class="keywordtype">bool</span> fromSerial);</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;    <span class="keywordtype">bool</span> parseAscii(<span class="keywordtype">char</span> *line,<span class="keywordtype">bool</span> fromSerial);</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;    <span class="keywordtype">void</span> popCurrentCommand();</div><div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;    <span class="keywordtype">void</span> echoCommand();</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;    <span class="keyword">static</span> <a class="code" href="class_g_code.html">GCode</a> *peekCurrentCommand();</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">void</span> readFromSerial();</div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">void</span> pushCommand();</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">void</span> executeFString(<a class="code" href="_h_a_l_8h.html#a6c7567c1812b6b6ca9067377476ddc4e">FSTRINGPARAM</a>(cmd));</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;    <span class="keyword">static</span> uint8_t computeBinarySize(<span class="keywordtype">char</span> *ptr);</div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;        <span class="keyword">static</span> <span class="keywordtype">void</span> fatalError(<a class="code" href="_h_a_l_8h.html#a6c7567c1812b6b6ca9067377476ddc4e">FSTRINGPARAM</a>(message));</div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;        <span class="keyword">static</span> <span class="keywordtype">void</span> reportFatalError();</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;        <span class="keyword">static</span> <span class="keywordtype">void</span> resetFatalError();</div><div class="line"><a name="l00264"></a><span class="lineno"><a class="line" href="class_g_code.html#a02e5b556f0e46e394071ceca9d2c2b7e">  264</a></span>&#160;        <span class="keyword">inline</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_g_code.html#a02e5b556f0e46e394071ceca9d2c2b7e">hasFatalError</a>() {</div><div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;                <span class="keywordflow">return</span> fatalErrorMsg != NULL;</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;        }</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;        <span class="keyword">static</span> <span class="keywordtype">void</span> keepAlive(<span class="keyword">enum</span> <a class="code" href="gcode_8h.html#a80335118e5274a875358737bd2daa6ca">FirmwareState</a> state);</div><div class="line"><a name="l00268"></a><span class="lineno"><a class="line" href="class_g_code.html#a2a9c0b86a016f799643df05f81b8c43a">  268</a></span>&#160;        <span class="keyword">static</span> uint32_t <a class="code" href="class_g_code.html#a2a9c0b86a016f799643df05f81b8c43a">keepAliveInterval</a>;</div><div class="line"><a name="l00269"></a><span class="lineno"><a class="line" href="class_g_code.html#a0d5f139d8b7a8991eefe478b40b1c60e">  269</a></span>&#160;    <span class="keyword">friend</span> <span class="keyword">class </span>SDCard;</div><div class="line"><a name="l00270"></a><span class="lineno"><a class="line" href="class_g_code.html#a9100ab40407fd382a882168b2001f3a3">  270</a></span>&#160;    <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="class_u_i_display.html">UIDisplay</a>;</div><div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;        <span class="keyword">static</span> <a class="code" href="_h_a_l_8h.html#a6c7567c1812b6b6ca9067377476ddc4e">FSTRINGPARAM</a>(fatalErrorMsg);</div><div class="line"><a name="l00272"></a><span class="lineno"><a class="line" href="class_g_code.html#a084c7ebc1918c19f3f9cdc94e1f13514">  272</a></span>&#160;    <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="class_g_code_source.html">GCodeSource</a>;    </div><div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00274"></a><span class="lineno">  274</span>&#160;    <span class="keywordtype">void</span> debugCommandBuffer();</div><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;    <span class="keywordtype">void</span> checkAndPushCommand();</div><div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;    <span class="keyword">static</span> <span class="keywordtype">void</span> requestResend();</div><div class="line"><a name="l00277"></a><span class="lineno"><a class="line" href="class_g_code.html#a6d97511c55565fb56a06cdd32cb3dfa8">  277</a></span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">float</span> <a class="code" href="class_g_code.html#a6d97511c55565fb56a06cdd32cb3dfa8">parseFloatValue</a>(<span class="keywordtype">char</span> *s)</div><div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;    {</div><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;        <span class="keywordtype">char</span> *endPtr;</div><div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;        <span class="keywordflow">while</span>(*s == 32) s++; <span class="comment">// skip spaces</span></div><div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;        <span class="keywordtype">float</span> f = (strtod(s, &amp;endPtr));</div><div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;        <span class="keywordflow">if</span>(s == endPtr) f=0.0; <span class="comment">// treat empty string &quot;x &quot; as &quot;x0&quot;</span></div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;        <span class="keywordflow">return</span> f;</div><div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;    }</div><div class="line"><a name="l00285"></a><span class="lineno"><a class="line" href="class_g_code.html#a56d347f3efc95edf566c4a3e39c93102">  285</a></span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">long</span> <a class="code" href="class_g_code.html#a56d347f3efc95edf566c4a3e39c93102">parseLongValue</a>(<span class="keywordtype">char</span> *s)</div><div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;    {</div><div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;        <span class="keywordtype">char</span> *endPtr;</div><div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;        <span class="keywordflow">while</span>(*s == 32) s++; <span class="comment">// skip spaces</span></div><div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;        <span class="keywordtype">long</span> l = (strtol(s, &amp;endPtr, 10));</div><div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;        <span class="keywordflow">if</span>(s == endPtr) l=0; <span class="comment">// treat empty string argument &quot;p &quot; as &quot;p0&quot;</span></div><div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;        <span class="keywordflow">return</span> l;</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;    }</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;</div><div class="line"><a name="l00294"></a><span class="lineno"><a class="line" href="class_g_code.html#ab593a00d3ea5bd70f714cac1e93f0899">  294</a></span>&#160;    <span class="keyword">static</span> <a class="code" href="class_g_code.html">GCode</a> commandsBuffered[<a class="code" href="_repetier_8h.html#af6168edd26520974b8660182d040051a">GCODE_BUFFER_SIZE</a>]; </div><div class="line"><a name="l00295"></a><span class="lineno"><a class="line" href="class_g_code.html#ac22e62a994c406f87a6e7b0d8b303539">  295</a></span>&#160;    <span class="keyword">static</span> uint8_t <a class="code" href="class_g_code.html#ac22e62a994c406f87a6e7b0d8b303539">bufferReadIndex</a>; </div><div class="line"><a name="l00296"></a><span class="lineno"><a class="line" href="class_g_code.html#a7a7417e5b78b7624fba2998bf59f4001">  296</a></span>&#160;    <span class="keyword">static</span> uint8_t <a class="code" href="class_g_code.html#a7a7417e5b78b7624fba2998bf59f4001">bufferWriteIndex</a>; </div><div class="line"><a name="l00297"></a><span class="lineno"><a class="line" href="class_g_code.html#adf8d6b682053e231fe0da0dc2f94bf11">  297</a></span>&#160;    <span class="keyword">static</span> uint8_t commandReceiving[<a class="code" href="gcode_8h.html#a11b2387a44dc0cf3642ddcbe0581276b">MAX_CMD_SIZE</a>]; </div><div class="line"><a name="l00298"></a><span class="lineno"><a class="line" href="class_g_code.html#a25133e8bf071c700f69775abd824a8d2">  298</a></span>&#160;    <span class="keyword">static</span> uint8_t <a class="code" href="class_g_code.html#a25133e8bf071c700f69775abd824a8d2">commandsReceivingWritePosition</a>; </div><div class="line"><a name="l00299"></a><span class="lineno"><a class="line" href="class_g_code.html#aad80b474f2d0d422eeb9d52f8e87888e">  299</a></span>&#160;    <span class="keyword">static</span> uint8_t <a class="code" href="class_g_code.html#aad80b474f2d0d422eeb9d52f8e87888e">sendAsBinary</a>; </div><div class="line"><a name="l00300"></a><span class="lineno"><a class="line" href="class_g_code.html#ac8c385f5654144374c5c359039447a2e">  300</a></span>&#160;    <span class="keyword">static</span> uint8_t <a class="code" href="class_g_code.html#ac8c385f5654144374c5c359039447a2e">commentDetected</a>; </div><div class="line"><a name="l00301"></a><span class="lineno"><a class="line" href="class_g_code.html#acb3c8ac68d3573a7e5576ccb9c0cd0b9">  301</a></span>&#160;    <span class="keyword">static</span> uint8_t <a class="code" href="class_g_code.html#acb3c8ac68d3573a7e5576ccb9c0cd0b9">binaryCommandSize</a>; </div><div class="line"><a name="l00302"></a><span class="lineno"><a class="line" href="class_g_code.html#a5d8444d6b8a09210add329d8fb76985d">  302</a></span>&#160;    <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="class_g_code.html#a5d8444d6b8a09210add329d8fb76985d">waitUntilAllCommandsAreParsed</a>; </div><div class="line"><a name="l00303"></a><span class="lineno"><a class="line" href="class_g_code.html#afd66d20b202ce680589a2a44c98b7d24">  303</a></span>&#160;    <span class="keyword">static</span> uint32_t <a class="code" href="class_g_code.html#afd66d20b202ce680589a2a44c98b7d24">actLineNumber</a>; </div><div class="line"><a name="l00304"></a><span class="lineno"><a class="line" href="class_g_code.html#a094811f67a354b53999a0d5fa27f021e">  304</a></span>&#160;    <span class="keyword">static</span> <span class="keyword">volatile</span> uint8_t <a class="code" href="class_g_code.html#a094811f67a354b53999a0d5fa27f021e">bufferLength</a>; </div><div class="line"><a name="l00305"></a><span class="lineno"><a class="line" href="class_g_code.html#aa781c6108f9b7a6af440f9f77a16d203">  305</a></span>&#160;    <span class="keyword">static</span> uint8_t <a class="code" href="class_g_code.html#aa781c6108f9b7a6af440f9f77a16d203">formatErrors</a>; </div><div class="line"><a name="l00306"></a><span class="lineno"><a class="line" href="class_g_code.html#a63fb5194102b6305e7a95a25b573a162">  306</a></span>&#160;        <span class="keyword">static</span> <a class="code" href="_h_a_l_8h.html#a5f255edd429b0abc92fae25c511d45a7">millis_t</a> <a class="code" href="class_g_code.html#a63fb5194102b6305e7a95a25b573a162">lastBusySignal</a>; </div><div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;<span class="preprocessor">#if NEW_COMMUNICATION == 0</span></div><div class="line"><a name="l00308"></a><span class="lineno"><a class="line" href="class_g_code.html#ade01c10031b89a7ceef91de2df15b8b5">  308</a></span>&#160;    <span class="keyword">static</span> int8_t <a class="code" href="class_g_code.html#ade01c10031b89a7ceef91de2df15b8b5">waitingForResend</a>; </div><div class="line"><a name="l00309"></a><span class="lineno"><a class="line" href="class_g_code.html#ad2e01c9eccd46e23a26116c52baa0e59">  309</a></span>&#160;    <span class="keyword">static</span> uint32_t <a class="code" href="class_g_code.html#ad2e01c9eccd46e23a26116c52baa0e59">lastLineNumber</a>; </div><div class="line"><a name="l00310"></a><span class="lineno"><a class="line" href="class_g_code.html#a789416dc2b46342e2ae3a754150a5c00">  310</a></span>&#160;    <span class="keyword">static</span> <a class="code" href="_h_a_l_8h.html#a5f255edd429b0abc92fae25c511d45a7">millis_t</a> <a class="code" href="class_g_code.html#a789416dc2b46342e2ae3a754150a5c00">timeOfLastDataPacket</a>; </div><div class="line"><a name="l00311"></a><span class="lineno"><a class="line" href="class_g_code.html#a6b232a71aa265b24e7758f33f1982ba3">  311</a></span>&#160;    <span class="keyword">static</span> uint8_t <a class="code" href="class_g_code.html#a6b232a71aa265b24e7758f33f1982ba3">wasLastCommandReceivedAsBinary</a>; </div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;<span class="preprocessor">#else</span></div><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;    <a class="code" href="class_g_code_source.html">GCodeSource</a> *source;    </div><div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;<span class="preprocessor">#endif    </span></div><div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;};</div><div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;</div><div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;</div><div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;<span class="preprocessor">#if JSON_OUTPUT</span></div><div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;<span class="preprocessor">#include &quot;SdFat.h&quot;</span></div><div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;<span class="comment">// Struct to hold Gcode file information 32 bytes</span></div><div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;<span class="preprocessor">#define GENBY_SIZE 16</span></div><div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;<span class="keyword">class </span>GCodeFileInfo {</div><div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;    <span class="keywordtype">void</span> init(SdBaseFile &amp;file);</div><div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;</div><div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> fileSize;</div><div class="line"><a name="l00328"></a><span class="lineno">  328</span>&#160;    <span class="keywordtype">float</span> objectHeight;</div><div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;    <span class="keywordtype">float</span> layerHeight;</div><div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;    <span class="keywordtype">float</span> filamentNeeded;</div><div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;    <span class="keywordtype">char</span> generatedBy[GENBY_SIZE];</div><div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;</div><div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;    <span class="keywordtype">bool</span> findGeneratedBy(<span class="keywordtype">char</span> *buf, <span class="keywordtype">char</span> *genBy);</div><div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;    <span class="keywordtype">bool</span> findLayerHeight(<span class="keywordtype">char</span> *buf, <span class="keywordtype">float</span> &amp;layerHeight);</div><div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;    <span class="keywordtype">bool</span> findFilamentNeed(<span class="keywordtype">char</span> *buf, <span class="keywordtype">float</span> &amp;filament);</div><div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;    <span class="keywordtype">bool</span> findTotalHeight(<span class="keywordtype">char</span> *buf, <span class="keywordtype">float</span> &amp;objectHeight);</div><div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;};</div><div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;</div><div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;<span class="preprocessor">#endif</span></div><div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;</div><div class="ttc" id="class_serial_g_code_source_html_a9f5bfbb5922865a0b41d0a88ef27ef36"><div class="ttname"><a href="class_serial_g_code_source.html#a9f5bfbb5922865a0b41d0a88ef27ef36">SerialGCodeSource::writeByte</a></div><div class="ttdeci">virtual void writeByte(uint8_t byte)</div><div class="ttdef"><b>Definition:</b> gcode.cpp:1447</div></div>
<div class="ttc" id="class_g_code_html_a4cef9968c1c49878f0e875ed9250ee11"><div class="ttname"><a href="class_g_code.html#a4cef9968c1c49878f0e875ed9250ee11">GCode::hasO</a></div><div class="ttdeci">bool hasO()</div><div class="ttdef"><b>Definition:</b> gcode.h:231</div></div>
<div class="ttc" id="class_g_code_html_a1e0919fc1f72552a5d9417755f872d23"><div class="ttname"><a href="class_g_code.html#a1e0919fc1f72552a5d9417755f872d23">GCode::hasD</a></div><div class="ttdeci">bool hasD()</div><div class="ttdef"><b>Definition:</b> gcode.h:203</div></div>
<div class="ttc" id="_s_d_card_8cpp_html_a8feba775c4efc1037d9f4c025ad0d807"><div class="ttname"><a href="_s_d_card_8cpp.html#a8feba775c4efc1037d9f4c025ad0d807">sdSource</a></div><div class="ttdeci">SDCardGCodeSource sdSource</div><div class="ttdef"><b>Definition:</b> SDCard.cpp:29</div></div>
<div class="ttc" id="class_serial_g_code_source_html_afd5cc5c1d05f7df69c853409cfcc9c68"><div class="ttname"><a href="class_serial_g_code_source.html#afd5cc5c1d05f7df69c853409cfcc9c68">SerialGCodeSource::supportsWrite</a></div><div class="ttdeci">virtual bool supportsWrite()</div><div class="ttdoc">true if write is a non dummy function </div><div class="ttdef"><b>Definition:</b> gcode.cpp:1435</div></div>
<div class="ttc" id="class_g_code_html_a2e0a4d3ae4991501889996ff19943b62"><div class="ttname"><a href="class_g_code.html#a2e0a4d3ae4991501889996ff19943b62">GCode::hasZ</a></div><div class="ttdeci">bool hasZ()</div><div class="ttdef"><b>Definition:</b> gcode.h:152</div></div>
<div class="ttc" id="class_g_code_html_a01aca54496e1e4f83ae0be2da6e0cfff"><div class="ttname"><a href="class_g_code.html#a01aca54496e1e4f83ae0be2da6e0cfff">GCode::G</a></div><div class="ttdeci">uint16_t G</div><div class="ttdoc">G-code G value if set. </div><div class="ttdef"><b>Definition:</b> gcode.h:98</div></div>
<div class="ttc" id="class_u_i_display_html"><div class="ttname"><a href="class_u_i_display.html">UIDisplay</a></div><div class="ttdef"><b>Definition:</b> ui.h:588</div></div>
<div class="ttc" id="class_g_code_html_a0d032c2cc9d48191ae68495d22519c69"><div class="ttname"><a href="class_g_code.html#a0d032c2cc9d48191ae68495d22519c69">GCode::hasY</a></div><div class="ttdeci">bool hasY()</div><div class="ttdef"><b>Definition:</b> gcode.h:145</div></div>
<div class="ttc" id="class_flash_g_code_source_html_a495521d5531b517c8de2d29a36d8e51b"><div class="ttname"><a href="class_flash_g_code_source.html#a495521d5531b517c8de2d29a36d8e51b">FlashGCodeSource::finished</a></div><div class="ttdeci">volatile bool finished</div><div class="ttdef"><b>Definition:</b> gcode.h:62</div></div>
<div class="ttc" id="class_serial_g_code_source_html"><div class="ttname"><a href="class_serial_g_code_source.html">SerialGCodeSource</a></div><div class="ttdef"><b>Definition:</b> gcode.h:33</div></div>
<div class="ttc" id="class_g_code_html"><div class="ttname"><a href="class_g_code.html">GCode</a></div><div class="ttdef"><b>Definition:</b> gcode.h:91</div></div>
<div class="ttc" id="class_g_code_html_a7c2e622c289bed44d107a6b12ecba3da"><div class="ttname"><a href="class_g_code.html#a7c2e622c289bed44d107a6b12ecba3da">GCode::unsetX</a></div><div class="ttdeci">void unsetX()</div><div class="ttdef"><b>Definition:</b> gcode.h:142</div></div>
<div class="ttc" id="class_g_code_html_a14a2c34757b51c1a22bf87cf2d1bec94"><div class="ttname"><a href="class_g_code.html#a14a2c34757b51c1a22bf87cf2d1bec94">GCode::L</a></div><div class="ttdeci">float L</div><div class="ttdoc">G-code L value if set. </div><div class="ttdef"><b>Definition:</b> gcode.h:115</div></div>
<div class="ttc" id="class_g_code_html_a7a7417e5b78b7624fba2998bf59f4001"><div class="ttname"><a href="class_g_code.html#a7a7417e5b78b7624fba2998bf59f4001">GCode::bufferWriteIndex</a></div><div class="ttdeci">static uint8_t bufferWriteIndex</div><div class="ttdoc">Write position in gcode_buffer. </div><div class="ttdef"><b>Definition:</b> gcode.h:296</div></div>
<div class="ttc" id="class_g_code_html_ac22e62a994c406f87a6e7b0d8b303539"><div class="ttname"><a href="class_g_code.html#ac22e62a994c406f87a6e7b0d8b303539">GCode::bufferReadIndex</a></div><div class="ttdeci">static uint8_t bufferReadIndex</div><div class="ttdoc">Read position in gcode_buffer. </div><div class="ttdef"><b>Definition:</b> gcode.h:295</div></div>
<div class="ttc" id="class_g_code_html_aad80b474f2d0d422eeb9d52f8e87888e"><div class="ttname"><a href="class_g_code.html#aad80b474f2d0d422eeb9d52f8e87888e">GCode::sendAsBinary</a></div><div class="ttdeci">static uint8_t sendAsBinary</div><div class="ttdoc">Flags the command as binary input. </div><div class="ttdef"><b>Definition:</b> gcode.h:299</div></div>
<div class="ttc" id="class_g_code_html_a896d9a4b0bc90d286c17238316151f2f"><div class="ttname"><a href="class_g_code.html#a896d9a4b0bc90d286c17238316151f2f">GCode::hasM</a></div><div class="ttdeci">bool hasM()</div><div class="ttdef"><b>Definition:</b> gcode.h:126</div></div>
<div class="ttc" id="class_g_code_html_aa5e1bb88b380d7e3d800c3909a245464"><div class="ttname"><a href="class_g_code.html#aa5e1bb88b380d7e3d800c3909a245464">GCode::R</a></div><div class="ttdeci">float R</div><div class="ttdoc">G-code R value if set. </div><div class="ttdef"><b>Definition:</b> gcode.h:108</div></div>
<div class="ttc" id="class_g_code_html_a16198f9b2fa0202d43dee45817f6ed4b"><div class="ttname"><a href="class_g_code.html#a16198f9b2fa0202d43dee45817f6ed4b">GCode::hasN</a></div><div class="ttdeci">bool hasN()</div><div class="ttdef"><b>Definition:</b> gcode.h:130</div></div>
<div class="ttc" id="class_g_code_html_aba77862a1c85ab5e91139f2ade15e1b3"><div class="ttname"><a href="class_g_code.html#aba77862a1c85ab5e91139f2ade15e1b3">GCode::H</a></div><div class="ttdeci">float H</div><div class="ttdoc">G-code H value if set. </div><div class="ttdef"><b>Definition:</b> gcode.h:111</div></div>
<div class="ttc" id="class_g_code_html_aa6a815f9490b31863025a81f46141340"><div class="ttname"><a href="class_g_code.html#aa6a815f9490b31863025a81f46141340">GCode::hasNoXYZ</a></div><div class="ttdeci">bool hasNoXYZ()</div><div class="ttdef"><b>Definition:</b> gcode.h:159</div></div>
<div class="ttc" id="class_g_code_html_a08c8b0aeefbf3aacc896794c99065e6c"><div class="ttname"><a href="class_g_code.html#a08c8b0aeefbf3aacc896794c99065e6c">GCode::unsetY</a></div><div class="ttdeci">void unsetY()</div><div class="ttdef"><b>Definition:</b> gcode.h:149</div></div>
<div class="ttc" id="class_serial_g_code_source_html_ad16cc0c1dd8699f7e5b55100982efc24"><div class="ttname"><a href="class_serial_g_code_source.html#ad16cc0c1dd8699f7e5b55100982efc24">SerialGCodeSource::SerialGCodeSource</a></div><div class="ttdeci">SerialGCodeSource(Stream *p)</div><div class="ttdef"><b>Definition:</b> gcode.cpp:1429</div></div>
<div class="ttc" id="class_g_code_html_a8e450c85756c444201847d9a8cb0a6db"><div class="ttname"><a href="class_g_code.html#a8e450c85756c444201847d9a8cb0a6db">GCode::hasL</a></div><div class="ttdeci">bool hasL()</div><div class="ttdef"><b>Definition:</b> gcode.h:227</div></div>
<div class="ttc" id="class_g_code_html_a33118dea8e1d1adaa0a12f104cc03fc5"><div class="ttname"><a href="class_g_code.html#a33118dea8e1d1adaa0a12f104cc03fc5">GCode::hasB</a></div><div class="ttdeci">bool hasB()</div><div class="ttdef"><b>Definition:</b> gcode.h:219</div></div>
<div class="ttc" id="class_g_code_html_a74b6066b0a82b2dc07cb88ab178c40e5"><div class="ttname"><a href="class_g_code.html#a74b6066b0a82b2dc07cb88ab178c40e5">GCode::hasFormatError</a></div><div class="ttdeci">bool hasFormatError()</div><div class="ttdef"><b>Definition:</b> gcode.h:246</div></div>
<div class="ttc" id="class_g_code_html_aeae4617d3d441d4c47501902755338cb"><div class="ttname"><a href="class_g_code.html#aeae4617d3d441d4c47501902755338cb">GCode::text</a></div><div class="ttdeci">char * text</div><div class="ttdoc">Text message of g-code if present. </div><div class="ttdef"><b>Definition:</b> gcode.h:118</div></div>
<div class="ttc" id="class_g_code_html_a12748472eac849b0ab34cc3f2b22b64c"><div class="ttname"><a href="class_g_code.html#a12748472eac849b0ab34cc3f2b22b64c">GCode::Y</a></div><div class="ttdeci">float Y</div><div class="ttdoc">G-code Y value if set. </div><div class="ttdef"><b>Definition:</b> gcode.h:100</div></div>
<div class="ttc" id="class_g_code_html_a377df478459422d8f6345e85e6683a97"><div class="ttname"><a href="class_g_code.html#a377df478459422d8f6345e85e6683a97">GCode::Z</a></div><div class="ttdeci">float Z</div><div class="ttdoc">G-code Z value if set. </div><div class="ttdef"><b>Definition:</b> gcode.h:101</div></div>
<div class="ttc" id="class_g_code_html_a2144fef359061a8f350fed24cd555e4b"><div class="ttname"><a href="class_g_code.html#a2144fef359061a8f350fed24cd555e4b">GCode::isV2</a></div><div class="ttdeci">bool isV2()</div><div class="ttdef"><b>Definition:</b> gcode.h:183</div></div>
<div class="ttc" id="class_g_code_html_af156623b5ce798d888a4f0782f565210"><div class="ttname"><a href="class_g_code.html#af156623b5ce798d888a4f0782f565210">GCode::getP</a></div><div class="ttdeci">long getP(long def)</div><div class="ttdef"><b>Definition:</b> gcode.h:239</div></div>
<div class="ttc" id="gcode_8h_html_a11b2387a44dc0cf3642ddcbe0581276b"><div class="ttname"><a href="gcode_8h.html#a11b2387a44dc0cf3642ddcbe0581276b">MAX_CMD_SIZE</a></div><div class="ttdeci">#define MAX_CMD_SIZE</div><div class="ttdef"><b>Definition:</b> gcode.h:21</div></div>
<div class="ttc" id="class_g_code_html_aa591fde7281147c828fe9a9e9ceec752"><div class="ttname"><a href="class_g_code.html#aa591fde7281147c828fe9a9e9ceec752">GCode::hasC</a></div><div class="ttdeci">bool hasC()</div><div class="ttdef"><b>Definition:</b> gcode.h:207</div></div>
<div class="ttc" id="class_g_code_html_ac0b7ab932e0bdfff4a1815ba5ee3cc36"><div class="ttname"><a href="class_g_code.html#ac0b7ab932e0bdfff4a1815ba5ee3cc36">GCode::E</a></div><div class="ttdeci">float E</div><div class="ttdoc">G-code E value if set. </div><div class="ttdef"><b>Definition:</b> gcode.h:102</div></div>
<div class="ttc" id="class_g_code_html_a789416dc2b46342e2ae3a754150a5c00"><div class="ttname"><a href="class_g_code.html#a789416dc2b46342e2ae3a754150a5c00">GCode::timeOfLastDataPacket</a></div><div class="ttdeci">static millis_t timeOfLastDataPacket</div><div class="ttdoc">Time, when we got the last data packet. Used to detect missing uint8_ts. </div><div class="ttdef"><b>Definition:</b> gcode.h:310</div></div>
<div class="ttc" id="gcode_8h_html_a80335118e5274a875358737bd2daa6caa4013af6dca6fe52bdbfd0781097056f0"><div class="ttname"><a href="gcode_8h.html#a80335118e5274a875358737bd2daa6caa4013af6dca6fe52bdbfd0781097056f0">NotBusy</a></div><div class="ttdef"><b>Definition:</b> gcode.h:24</div></div>
<div class="ttc" id="gcode_8cpp_html_a6b89d94efcdf5d441857a9b2d3de1f7f"><div class="ttname"><a href="gcode_8cpp.html#a6b89d94efcdf5d441857a9b2d3de1f7f">flashSource</a></div><div class="ttdeci">FlashGCodeSource flashSource</div><div class="ttdef"><b>Definition:</b> gcode.cpp:1320</div></div>
<div class="ttc" id="class_g_code_html_a56d347f3efc95edf566c4a3e39c93102"><div class="ttname"><a href="class_g_code.html#a56d347f3efc95edf566c4a3e39c93102">GCode::parseLongValue</a></div><div class="ttdeci">long parseLongValue(char *s)</div><div class="ttdef"><b>Definition:</b> gcode.h:285</div></div>
<div class="ttc" id="class_serial_g_code_source_html_af84b5beefec49831ddd6138ea71353e3"><div class="ttname"><a href="class_serial_g_code_source.html#af84b5beefec49831ddd6138ea71353e3">SerialGCodeSource::stream</a></div><div class="ttdeci">Stream * stream</div><div class="ttdef"><b>Definition:</b> gcode.h:34</div></div>
<div class="ttc" id="class_g_code_source_html"><div class="ttname"><a href="class_g_code_source.html">GCodeSource</a></div><div class="ttdef"><b>Definition:</b> Communication.h:40</div></div>
<div class="ttc" id="class_g_code_html_ad8d3ebce176ae54127e85a5736806dcc"><div class="ttname"><a href="class_g_code.html#ad8d3ebce176ae54127e85a5736806dcc">GCode::X</a></div><div class="ttdeci">float X</div><div class="ttdoc">G-code X value if set. </div><div class="ttdef"><b>Definition:</b> gcode.h:99</div></div>
<div class="ttc" id="class_serial_g_code_source_html_aa37fcf0245e465929c9f0c9d4d15efd1"><div class="ttname"><a href="class_serial_g_code_source.html#aa37fcf0245e465929c9f0c9d4d15efd1">SerialGCodeSource::isOpen</a></div><div class="ttdeci">virtual bool isOpen()</div><div class="ttdef"><b>Definition:</b> gcode.cpp:1432</div></div>
<div class="ttc" id="class_g_code_html_a16984addf2df4467b606a1d511cc2cb6"><div class="ttname"><a href="class_g_code.html#a16984addf2df4467b606a1d511cc2cb6">GCode::hasT</a></div><div class="ttdeci">bool hasT()</div><div class="ttdef"><b>Definition:</b> gcode.h:171</div></div>
<div class="ttc" id="class_serial_g_code_source_html_a987322f362a396d7c80a8191fed9012f"><div class="ttname"><a href="class_serial_g_code_source.html#a987322f362a396d7c80a8191fed9012f">SerialGCodeSource::readByte</a></div><div class="ttdeci">virtual int readByte()</div><div class="ttdef"><b>Definition:</b> gcode.cpp:1444</div></div>
<div class="ttc" id="class_g_code_html_a20e61c1fad68f22b7ec4f5081657417e"><div class="ttname"><a href="class_g_code.html#a20e61c1fad68f22b7ec4f5081657417e">GCode::P</a></div><div class="ttdeci">int32_t P</div><div class="ttdoc">G-code P value if set. </div><div class="ttdef"><b>Definition:</b> gcode.h:105</div></div>
<div class="ttc" id="class_g_code_html_ad2e01c9eccd46e23a26116c52baa0e59"><div class="ttname"><a href="class_g_code.html#ad2e01c9eccd46e23a26116c52baa0e59">GCode::lastLineNumber</a></div><div class="ttdeci">static uint32_t lastLineNumber</div><div class="ttdoc">Last line number received. </div><div class="ttdef"><b>Definition:</b> gcode.h:309</div></div>
<div class="ttc" id="class_g_code_html_a8822389313765b3bcf1d0ec1e939c148"><div class="ttname"><a href="class_g_code.html#a8822389313765b3bcf1d0ec1e939c148">GCode::internalCommand</a></div><div class="ttdeci">bool internalCommand</div><div class="ttdef"><b>Definition:</b> gcode.h:125</div></div>
<div class="ttc" id="class_serial_g_code_source_html_a3297ba3eae43de9abff1d2ff1cb441fd"><div class="ttname"><a href="class_serial_g_code_source.html#a3297ba3eae43de9abff1d2ff1cb441fd">SerialGCodeSource::closeOnError</a></div><div class="ttdeci">virtual bool closeOnError()</div><div class="ttdef"><b>Definition:</b> gcode.cpp:1438</div></div>
<div class="ttc" id="class_g_code_html_a63fb5194102b6305e7a95a25b573a162"><div class="ttname"><a href="class_g_code.html#a63fb5194102b6305e7a95a25b573a162">GCode::lastBusySignal</a></div><div class="ttdeci">static millis_t lastBusySignal</div><div class="ttdoc">When was the last busy signal. </div><div class="ttdef"><b>Definition:</b> gcode.h:306</div></div>
<div class="ttc" id="class_g_code_html_a995e88439b019c737daa12ce2c3e9b47"><div class="ttname"><a href="class_g_code.html#a995e88439b019c737daa12ce2c3e9b47">GCode::M</a></div><div class="ttdeci">uint16_t M</div><div class="ttdoc">G-code M value if set. </div><div class="ttdef"><b>Definition:</b> gcode.h:97</div></div>
<div class="ttc" id="gcode_8h_html_a80335118e5274a875358737bd2daa6ca"><div class="ttname"><a href="gcode_8h.html#a80335118e5274a875358737bd2daa6ca">FirmwareState</a></div><div class="ttdeci">FirmwareState</div><div class="ttdef"><b>Definition:</b> gcode.h:24</div></div>
<div class="ttc" id="class_g_code_html_a18063c240ab7f0aee99b4f88e32f1f9e"><div class="ttname"><a href="class_g_code.html#a18063c240ab7f0aee99b4f88e32f1f9e">GCode::hasF</a></div><div class="ttdeci">bool hasF()</div><div class="ttdef"><b>Definition:</b> gcode.h:167</div></div>
<div class="ttc" id="class_g_code_html_a02e5b556f0e46e394071ceca9d2c2b7e"><div class="ttname"><a href="class_g_code.html#a02e5b556f0e46e394071ceca9d2c2b7e">GCode::hasFatalError</a></div><div class="ttdeci">static bool hasFatalError()</div><div class="ttdef"><b>Definition:</b> gcode.h:264</div></div>
<div class="ttc" id="gcode_8h_html_a80335118e5274a875358737bd2daa6caa39202fec5c2ef0d798c4b905ca03ed6e"><div class="ttname"><a href="gcode_8h.html#a80335118e5274a875358737bd2daa6caa39202fec5c2ef0d798c4b905ca03ed6e">DoorOpen</a></div><div class="ttdef"><b>Definition:</b> gcode.h:24</div></div>
<div class="ttc" id="class_g_code_html_a9734598d65b0877a712d6b52e2f1b022"><div class="ttname"><a href="class_g_code.html#a9734598d65b0877a712d6b52e2f1b022">GCode::C</a></div><div class="ttdeci">float C</div><div class="ttdoc">G-code C value if set. </div><div class="ttdef"><b>Definition:</b> gcode.h:110</div></div>
<div class="ttc" id="class_g_code_html_a752c8740d8a8dc5bbe1d91c5f8fb3766"><div class="ttname"><a href="class_g_code.html#a752c8740d8a8dc5bbe1d91c5f8fb3766">GCode::hasS</a></div><div class="ttdeci">bool hasS()</div><div class="ttdef"><b>Definition:</b> gcode.h:175</div></div>
<div class="ttc" id="class_commands_html"><div class="ttname"><a href="class_commands.html">Commands</a></div><div class="ttdef"><b>Definition:</b> Commands.h:27</div></div>
<div class="ttc" id="class_g_code_html_afac98469c79bf9e678912b1e9c32a607"><div class="ttname"><a href="class_g_code.html#afac98469c79bf9e678912b1e9c32a607">GCode::N</a></div><div class="ttdeci">uint16_t N</div><div class="ttdoc">Line number reduced to 16 bit. </div><div class="ttdef"><b>Definition:</b> gcode.h:96</div></div>
<div class="ttc" id="class_serial_g_code_source_html_ad8a4422b8f293daedac636ebc1620c25"><div class="ttname"><a href="class_serial_g_code_source.html#ad8a4422b8f293daedac636ebc1620c25">SerialGCodeSource::close</a></div><div class="ttdeci">virtual void close()</div><div class="ttdef"><b>Definition:</b> gcode.cpp:1450</div></div>
<div class="ttc" id="class_g_code_html_a2697d560f2a2b1aae242eecbf0c28c0d"><div class="ttname"><a href="class_g_code.html#a2697d560f2a2b1aae242eecbf0c28c0d">GCode::setFormatError</a></div><div class="ttdeci">void setFormatError()</div><div class="ttdef"><b>Definition:</b> gcode.h:243</div></div>
<div class="ttc" id="gcode_8h_html_a80335118e5274a875358737bd2daa6caa1c1f16d5a674c4c9064e89e0e4daa0bc"><div class="ttname"><a href="gcode_8h.html#a80335118e5274a875358737bd2daa6caa1c1f16d5a674c4c9064e89e0e4daa0bc">WaitHeater</a></div><div class="ttdef"><b>Definition:</b> gcode.h:24</div></div>
<div class="ttc" id="_h_a_l_8h_html_a5f255edd429b0abc92fae25c511d45a7"><div class="ttname"><a href="_h_a_l_8h.html#a5f255edd429b0abc92fae25c511d45a7">millis_t</a></div><div class="ttdeci">uint32_t millis_t</div><div class="ttdef"><b>Definition:</b> HAL.h:158</div></div>
<div class="ttc" id="gcode_8h_html_a80335118e5274a875358737bd2daa6caa2c0f5e5c441bfef9c56cdd0ef2210c5b"><div class="ttname"><a href="gcode_8h.html#a80335118e5274a875358737bd2daa6caa2c0f5e5c441bfef9c56cdd0ef2210c5b">Processing</a></div><div class="ttdef"><b>Definition:</b> gcode.h:24</div></div>
<div class="ttc" id="class_g_code_html_a943d89280b4131abf220469207ec7f29"><div class="ttname"><a href="class_g_code.html#a943d89280b4131abf220469207ec7f29">GCode::hasA</a></div><div class="ttdeci">bool hasA()</div><div class="ttdef"><b>Definition:</b> gcode.h:215</div></div>
<div class="ttc" id="class_g_code_html_aae3249d309c349be99e423d4366ec852"><div class="ttname"><a href="class_g_code.html#aae3249d309c349be99e423d4366ec852">GCode::K</a></div><div class="ttdeci">float K</div><div class="ttdoc">G-code K value if set. </div><div class="ttdef"><b>Definition:</b> gcode.h:114</div></div>
<div class="ttc" id="class_g_code_html_ac0cb4354f89ad9bdfc4f10474f27910c"><div class="ttname"><a href="class_g_code.html#ac0cb4354f89ad9bdfc4f10474f27910c">GCode::T</a></div><div class="ttdeci">uint8_t T</div><div class="ttdef"><b>Definition:</b> gcode.h:122</div></div>
<div class="ttc" id="class_flash_g_code_source_html"><div class="ttname"><a href="class_flash_g_code_source.html">FlashGCodeSource</a></div><div class="ttdef"><b>Definition:</b> gcode.h:59</div></div>
<div class="ttc" id="class_g_code_html_a2962dc0c0e4faa52b9f3546525cb28e5"><div class="ttname"><a href="class_g_code.html#a2962dc0c0e4faa52b9f3546525cb28e5">GCode::unsetZ</a></div><div class="ttdeci">void unsetZ()</div><div class="ttdef"><b>Definition:</b> gcode.h:156</div></div>
<div class="ttc" id="class_g_code_html_ade01c10031b89a7ceef91de2df15b8b5"><div class="ttname"><a href="class_g_code.html#ade01c10031b89a7ceef91de2df15b8b5">GCode::waitingForResend</a></div><div class="ttdeci">static int8_t waitingForResend</div><div class="ttdoc">Waiting for line to be resend. -1 = no wait. </div><div class="ttdef"><b>Definition:</b> gcode.h:308</div></div>
<div class="ttc" id="class_g_code_html_a25133e8bf071c700f69775abd824a8d2"><div class="ttname"><a href="class_g_code.html#a25133e8bf071c700f69775abd824a8d2">GCode::commandsReceivingWritePosition</a></div><div class="ttdeci">static uint8_t commandsReceivingWritePosition</div><div class="ttdoc">Writing position in gcode_transbuffer. </div><div class="ttdef"><b>Definition:</b> gcode.h:298</div></div>
<div class="ttc" id="class_g_code_html_a294327935821aae0a62826986d7b9588"><div class="ttname"><a href="class_g_code.html#a294327935821aae0a62826986d7b9588">GCode::F</a></div><div class="ttdeci">float F</div><div class="ttdoc">G-code F value if set. </div><div class="ttdef"><b>Definition:</b> gcode.h:103</div></div>
<div class="ttc" id="class_g_code_html_a2a9c0b86a016f799643df05f81b8c43a"><div class="ttname"><a href="class_g_code.html#a2a9c0b86a016f799643df05f81b8c43a">GCode::keepAliveInterval</a></div><div class="ttdeci">static uint32_t keepAliveInterval</div><div class="ttdef"><b>Definition:</b> gcode.h:268</div></div>
<div class="ttc" id="class_g_code_html_a9fdd623d6a6dff099c2da7adfe01c1fd"><div class="ttname"><a href="class_g_code.html#a9fdd623d6a6dff099c2da7adfe01c1fd">GCode::hasH</a></div><div class="ttdeci">bool hasH()</div><div class="ttdef"><b>Definition:</b> gcode.h:211</div></div>
<div class="ttc" id="class_g_code_html_a36f8ec40df06232fbfc50f7c7117b115"><div class="ttname"><a href="class_g_code.html#a36f8ec40df06232fbfc50f7c7117b115">GCode::I</a></div><div class="ttdeci">float I</div><div class="ttdoc">G-code I value if set. </div><div class="ttdef"><b>Definition:</b> gcode.h:106</div></div>
<div class="ttc" id="class_flash_g_code_source_html_aaf97b1299c42292f100949af7a0bcef6"><div class="ttname"><a href="class_flash_g_code_source.html#aaf97b1299c42292f100949af7a0bcef6">FlashGCodeSource::actionOnFinish</a></div><div class="ttdeci">int actionOnFinish</div><div class="ttdef"><b>Definition:</b> gcode.h:63</div></div>
<div class="ttc" id="class_g_code_html_a094811f67a354b53999a0d5fa27f021e"><div class="ttname"><a href="class_g_code.html#a094811f67a354b53999a0d5fa27f021e">GCode::bufferLength</a></div><div class="ttdeci">static volatile uint8_t bufferLength</div><div class="ttdoc">Number of commands stored in gcode_buffer. </div><div class="ttdef"><b>Definition:</b> gcode.h:304</div></div>
<div class="ttc" id="class_g_code_html_a551db73d6f61239124f50b3689f6a937"><div class="ttname"><a href="class_g_code.html#a551db73d6f61239124f50b3689f6a937">GCode::hasP</a></div><div class="ttdeci">bool hasP()</div><div class="ttdef"><b>Definition:</b> gcode.h:179</div></div>
<div class="ttc" id="class_g_code_html_ad2dda78f2137bf5ff41022df473a1814"><div class="ttname"><a href="class_g_code.html#ad2dda78f2137bf5ff41022df473a1814">GCode::S</a></div><div class="ttdeci">int32_t S</div><div class="ttdoc">G-code S value if set. </div><div class="ttdef"><b>Definition:</b> gcode.h:104</div></div>
<div class="ttc" id="class_g_code_html_a71565284475e2f1b0afb8c2c3bdf0fb8"><div class="ttname"><a href="class_g_code.html#a71565284475e2f1b0afb8c2c3bdf0fb8">GCode::hasE</a></div><div class="ttdeci">bool hasE()</div><div class="ttdef"><b>Definition:</b> gcode.h:163</div></div>
<div class="ttc" id="class_g_code_html_aa781c6108f9b7a6af440f9f77a16d203"><div class="ttname"><a href="class_g_code.html#aa781c6108f9b7a6af440f9f77a16d203">GCode::formatErrors</a></div><div class="ttdeci">static uint8_t formatErrors</div><div class="ttdoc">Number of sequential format errors. </div><div class="ttdef"><b>Definition:</b> gcode.h:305</div></div>
<div class="ttc" id="gcode_8h_html_a80335118e5274a875358737bd2daa6caa7038380f2ccd1d2edf36a73fd4c2d068"><div class="ttname"><a href="gcode_8h.html#a80335118e5274a875358737bd2daa6caa7038380f2ccd1d2edf36a73fd4c2d068">Paused</a></div><div class="ttdef"><b>Definition:</b> gcode.h:24</div></div>
<div class="ttc" id="class_g_code_html_afd66d20b202ce680589a2a44c98b7d24"><div class="ttname"><a href="class_g_code.html#afd66d20b202ce680589a2a44c98b7d24">GCode::actLineNumber</a></div><div class="ttdeci">static uint32_t actLineNumber</div><div class="ttdoc">Line number of current command. </div><div class="ttdef"><b>Definition:</b> gcode.h:303</div></div>
<div class="ttc" id="class_g_code_html_a4d88a89c69eef4f07b74f079c9c6d117"><div class="ttname"><a href="class_g_code.html#a4d88a89c69eef4f07b74f079c9c6d117">GCode::hasR</a></div><div class="ttdeci">bool hasR()</div><div class="ttdef"><b>Definition:</b> gcode.h:199</div></div>
<div class="ttc" id="class_g_code_html_a1169f240c76319042436867e8ebda95a"><div class="ttname"><a href="class_g_code.html#a1169f240c76319042436867e8ebda95a">GCode::J</a></div><div class="ttdeci">float J</div><div class="ttdoc">G-code J value if set. </div><div class="ttdef"><b>Definition:</b> gcode.h:107</div></div>
<div class="ttc" id="class_g_code_html_af6905bc5b02a3b5cfc28397e5e41d129"><div class="ttname"><a href="class_g_code.html#af6905bc5b02a3b5cfc28397e5e41d129">GCode::params2</a></div><div class="ttdeci">uint16_t params2</div><div class="ttdef"><b>Definition:</b> gcode.h:94</div></div>
<div class="ttc" id="class_g_code_html_acb3c8ac68d3573a7e5576ccb9c0cd0b9"><div class="ttname"><a href="class_g_code.html#acb3c8ac68d3573a7e5576ccb9c0cd0b9">GCode::binaryCommandSize</a></div><div class="ttdeci">static uint8_t binaryCommandSize</div><div class="ttdoc">Expected size of the incoming binary command. </div><div class="ttdef"><b>Definition:</b> gcode.h:301</div></div>
<div class="ttc" id="class_g_code_html_ab309847b870d0b7cd934e1ddbdea170c"><div class="ttname"><a href="class_g_code.html#ab309847b870d0b7cd934e1ddbdea170c">GCode::B</a></div><div class="ttdeci">float B</div><div class="ttdoc">G-code B value if set. </div><div class="ttdef"><b>Definition:</b> gcode.h:113</div></div>
<div class="ttc" id="class_serial_g_code_source_html_a1ca61ad50d3e9de9db9c2e0b0430201d"><div class="ttname"><a href="class_serial_g_code_source.html#a1ca61ad50d3e9de9db9c2e0b0430201d">SerialGCodeSource::dataAvailable</a></div><div class="ttdeci">virtual bool dataAvailable()</div><div class="ttdef"><b>Definition:</b> gcode.cpp:1441</div></div>
<div class="ttc" id="_h_a_l_8h_html_a6c7567c1812b6b6ca9067377476ddc4e"><div class="ttname"><a href="_h_a_l_8h.html#a6c7567c1812b6b6ca9067377476ddc4e">FSTRINGPARAM</a></div><div class="ttdeci">#define FSTRINGPARAM(var)</div><div class="ttdef"><b>Definition:</b> HAL.h:53</div></div>
<div class="ttc" id="class_g_code_html_a44ceff02e288003e5808c15b3a684e9d"><div class="ttname"><a href="class_g_code.html#a44ceff02e288003e5808c15b3a684e9d">GCode::hasK</a></div><div class="ttdeci">bool hasK()</div><div class="ttdef"><b>Definition:</b> gcode.h:223</div></div>
<div class="ttc" id="class_g_code_html_af04e00c866022df42d861a31e5921e56"><div class="ttname"><a href="class_g_code.html#af04e00c866022df42d861a31e5921e56">GCode::hasString</a></div><div class="ttdeci">bool hasString()</div><div class="ttdef"><b>Definition:</b> gcode.h:187</div></div>
<div class="ttc" id="class_g_code_html_a6d97511c55565fb56a06cdd32cb3dfa8"><div class="ttname"><a href="class_g_code.html#a6d97511c55565fb56a06cdd32cb3dfa8">GCode::parseFloatValue</a></div><div class="ttdeci">float parseFloatValue(char *s)</div><div class="ttdef"><b>Definition:</b> gcode.h:277</div></div>
<div class="ttc" id="class_g_code_html_acc735cde25988c9566f15b379ed497cc"><div class="ttname"><a href="class_g_code.html#acc735cde25988c9566f15b379ed497cc">GCode::D</a></div><div class="ttdeci">float D</div><div class="ttdoc">G-code D value if set. </div><div class="ttdef"><b>Definition:</b> gcode.h:109</div></div>
<div class="ttc" id="class_g_code_html_ae17eb18c5aeb16f262cde1d6d6c65a57"><div class="ttname"><a href="class_g_code.html#ae17eb18c5aeb16f262cde1d6d6c65a57">GCode::hasJ</a></div><div class="ttdeci">bool hasJ()</div><div class="ttdef"><b>Definition:</b> gcode.h:195</div></div>
<div class="ttc" id="class_g_code_html_a303b63cdf8d85a149e7efe031e13b1b4"><div class="ttname"><a href="class_g_code.html#a303b63cdf8d85a149e7efe031e13b1b4">GCode::params</a></div><div class="ttdeci">uint16_t params</div><div class="ttdef"><b>Definition:</b> gcode.h:93</div></div>
<div class="ttc" id="_repetier_8h_html_af6168edd26520974b8660182d040051a"><div class="ttname"><a href="_repetier_8h.html#af6168edd26520974b8660182d040051a">GCODE_BUFFER_SIZE</a></div><div class="ttdeci">#define GCODE_BUFFER_SIZE</div><div class="ttdef"><b>Definition:</b> Repetier.h:324</div></div>
<div class="ttc" id="class_g_code_html_ae6e347d280e98dcecccf4482ebecffc9"><div class="ttname"><a href="class_g_code.html#ae6e347d280e98dcecccf4482ebecffc9">GCode::A</a></div><div class="ttdeci">float A</div><div class="ttdoc">G-code A value if set. </div><div class="ttdef"><b>Definition:</b> gcode.h:112</div></div>
<div class="ttc" id="class_g_code_html_ae0a22e2515d72b98507b52b510382ed7"><div class="ttname"><a href="class_g_code.html#ae0a22e2515d72b98507b52b510382ed7">GCode::hasI</a></div><div class="ttdeci">bool hasI()</div><div class="ttdef"><b>Definition:</b> gcode.h:191</div></div>
<div class="ttc" id="class_g_code_html_a12aa39af4563e99b6263389eec01863d"><div class="ttname"><a href="class_g_code.html#a12aa39af4563e99b6263389eec01863d">GCode::hasX</a></div><div class="ttdeci">bool hasX()</div><div class="ttdef"><b>Definition:</b> gcode.h:138</div></div>
<div class="ttc" id="class_g_code_html_aa19e9921bf361760e8332b73f5449f69"><div class="ttname"><a href="class_g_code.html#aa19e9921bf361760e8332b73f5449f69">GCode::hasG</a></div><div class="ttdeci">bool hasG()</div><div class="ttdef"><b>Definition:</b> gcode.h:134</div></div>
<div class="ttc" id="class_g_code_html_a6b232a71aa265b24e7758f33f1982ba3"><div class="ttname"><a href="class_g_code.html#a6b232a71aa265b24e7758f33f1982ba3">GCode::wasLastCommandReceivedAsBinary</a></div><div class="ttdeci">static uint8_t wasLastCommandReceivedAsBinary</div><div class="ttdoc">Was the last successful command in binary mode? </div><div class="ttdef"><b>Definition:</b> gcode.h:311</div></div>
<div class="ttc" id="class_g_code_html_a5d8444d6b8a09210add329d8fb76985d"><div class="ttname"><a href="class_g_code.html#a5d8444d6b8a09210add329d8fb76985d">GCode::waitUntilAllCommandsAreParsed</a></div><div class="ttdeci">static bool waitUntilAllCommandsAreParsed</div><div class="ttdoc">Don&amp;#39;t read until all commands are parsed. Needed if gcode_buffer is misused as storage for strings...</div><div class="ttdef"><b>Definition:</b> gcode.h:302</div></div>
<div class="ttc" id="class_g_code_html_a60605db368f03e763b9e5f60e64db8f7"><div class="ttname"><a href="class_g_code.html#a60605db368f03e763b9e5f60e64db8f7">GCode::getS</a></div><div class="ttdeci">long getS(long def)</div><div class="ttdef"><b>Definition:</b> gcode.h:235</div></div>
<div class="ttc" id="class_g_code_html_ac8c385f5654144374c5c359039447a2e"><div class="ttname"><a href="class_g_code.html#ac8c385f5654144374c5c359039447a2e">GCode::commentDetected</a></div><div class="ttdeci">static uint8_t commentDetected</div><div class="ttdoc">Flags true if we are reading the comment part of a command. </div><div class="ttdef"><b>Definition:</b> gcode.h:300</div></div>
<div class="ttc" id="class_g_code_html_a13b7a088e94011264f4b8a996101b396"><div class="ttname"><a href="class_g_code.html#a13b7a088e94011264f4b8a996101b396">GCode::O</a></div><div class="ttdeci">float O</div><div class="ttdoc">G-code O value if set. </div><div class="ttdef"><b>Definition:</b> gcode.h:116</div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_cdf0096ae548159f0698b0a71289cf6c.html">ArduinoAVR</a></li><li class="navelem"><a class="el" href="dir_360d65efbdba454d299657bac363b72c.html">Repetier</a></li><li class="navelem"><a class="el" href="gcode_8h.html">gcode.h</a></li>
    <li class="footer">Generated on Tue Sep 19 2017 18:54:00 for Repetier-Firmware by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
  </ul>
</div>
</body>
</html>
